using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using QLHXNK.BusinessLogic;
namespace QLHXNK
{
    public partial class FrmDoiMatKhau : Form
    {
        public FrmDoiMatKhau()
        {
            InitializeComponent();
            this.CenterToScreen();
        }

        private void FrmDoiMatKhau_Load(object sender, EventArgs e)
        {
            lbNguoiDung.Text = "Xin chào " + FrmDangNhap.userName ;
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnDoiMatKhau_Click(object sender, EventArgs e)
        {
            if (FrmDangNhap.passWord != txtMatKhauCu.Text.Trim())
            {
                errorProvider1.SetError(txtMatKhauCu, "Bạn nhập mật khẩu hiện tại không đúng");
                return;
            }
            if (txtMatKhauMoi.Text.Length < 5)
            {
                errorProvider1.SetError(txtMatKhauMoi, "Mật khẩu phải từ 5 ký tự trở lên");
                return;
            }
            if (ValidateData() == false)
                return;
            
            try
            {
                DataTable dtUser = User.GetUser(FrmDangNhap.userName, "");
                if (dtUser.Rows.Count > 0)
                {
                    User user = new User(Int32.Parse(dtUser.Rows[0]["ID"].ToString()), dtUser.Rows[0]["Username"].ToString(), dtUser.Rows[0]["Password"].ToString());
                    user.UpdateUser(user.UserName, txtMatKhauMoi.Text);
                    MessageBox.Show("Thay đổi mật khẩu thành công");
                    this.Close();
                }
            }
            catch { }
        }

        #region--------------------------------------------ràng buộc dữ liệu---------------------------------------
        private bool ValidateData()
        {
            bool isValidate = true;

            if (txtMatKhauCu.Text == "")
            {
                isValidate = false;
                errorProvider1.SetError(txtMatKhauCu, "Bạn chưa nhập mật khẩu củ");
            }

            if (txtMatKhauMoi.Text == "")
            {
                isValidate = false;
                errorProvider1.SetError(txtMatKhauMoi, "Bạn chưa nhập mật khẩu mới");
            }
            if (txtXacNhanMatKhauMoi.Text == "" || txtXacNhanMatKhauMoi.Text != txtMatKhauMoi.Text)
            {
                isValidate = false;
                errorProvider1.SetError(txtXacNhanMatKhauMoi, "Mật khẩu mới và xác nhận mật khẩu mới không trùng");
            }
            return isValidate;
        }
        private void txtMatKhauCu_TextChanged(object sender, EventArgs e)
        {
            if (txtMatKhauCu.Text != "")
                errorProvider1.SetError(txtMatKhauCu, "");
        }

        private void txtMatKhauMoi_TextChanged(object sender, EventArgs e)
        {
            if (txtMatKhauMoi.Text == "")
                errorProvider1.SetError(txtMatKhauMoi, "");
        }

        private void txtXacNhanMatKhauMoi_TextChanged(object sender, EventArgs e)
        {
            if (txtXacNhanMatKhauMoi.Text == txtMatKhauMoi.Text)
                errorProvider1.SetError(txtXacNhanMatKhauMoi, "");
        }
        #endregion

        private void txtMatKhauCu_KeyDown(object sender, KeyEventArgs e)
        {
            FrmDoiMatKhau_KeyDown(this, e);
        }

        private void txtMatKhauMoi_KeyDown(object sender, KeyEventArgs e)
        {
            FrmDoiMatKhau_KeyDown(this, e);
        }

        private void txtXacNhanMatKhauMoi_KeyDown(object sender, KeyEventArgs e)
        {
            FrmDoiMatKhau_KeyDown(this, e);
        }

        private void btnDoiMatKhau_KeyDown(object sender, KeyEventArgs e)
        {
            FrmDoiMatKhau_KeyDown(this, e);
        }

        private void btnThoat_KeyDown(object sender, KeyEventArgs e)
        {
            FrmDoiMatKhau_KeyDown(this, e);
        }

        private void FrmDoiMatKhau_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyValue == 27)
                this.Close();
        }

    }
}